package com.whut.userservice.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.whut.userservice.domain.vo.UserFansAndAttentionsVO;
import com.whut.userservice.domain.vo.UserSimpleVO;
import com.whut.userservice.domain.vo.UserVO;
import jakarta.validation.constraints.NotNull;

import java.util.List;

public interface IUserFollowService {
    /**
     * 关注用户
     * @param followId 想要关注的用户ID
     */
    void follow(Long followId);

    /**
     * 取消关注用户
     * @param followId 想要取消关注的用户ID
     */
    void unfollow(Long followId);

    /**
     * 分页查询用户的粉丝
     * @param userId
     * @param page
     * @param size
     * @return
     */
    Page<UserSimpleVO> getFans(Long userId, Long page, Long size, boolean isFans);


    /**
     * 获取用户粉丝和关注数
     * @param userId
     * @return
     */
    UserFansAndAttentionsVO getFansAndAttentionCount(@NotNull Long userId);
}
